草庐IT

MySQL 刷新查询缓存

全部标签

ruby-on-rails - 在没有额外的 sql 查询的情况下过滤 activerecord 关系?

如何在不执行额外查询的情况下过滤AR查询的结果?例如u=User.where(name:"bob",age:[10,20])#1stselectquerytodbu.class#ActiveRecord::Relationtens=u.where(age:10)#2ndselectquerytodb我不希望第二个查询调用数据库,而是过滤在u(第一个查询)中检索到的结果。 最佳答案 ActiveRecord:Relation仅在访问其元素时查询数据库。因此,您拥有的序列根本不会调用数据库,除非您编写类似u.first或tens.fir

ruby-on-rails - 将参数值传递给 redirect_to 作为 rails 中的查询字符串

这应该很简单,但我似乎找不到简单的答案。如何将当前请求的参数值传递到redirect_to调用中?我有一些表单值想传递到GET重定向的查询字符串中我想做这样的事情:redirect_to@thing,:foo=>params[:foo]并发送到:http://things/4?[foo][key1]=val1&[foo][key2]=val2谢谢!此外-对于redirect_to:back如何处理?redirect_to:back,:foo=>params[:foo] 最佳答案 redirect_to的“记录”形式仅将第二个参数用于

ruby-on-rails - Rails 4.0 expire_fragment/缓存过期不起作用

我一直在尝试使用Rails的缓存功能,但我无法使某些缓存片段过期,尽管它们似乎已过期。使用Rails教程站点中指出的“俄罗斯娃娃缓存”,我正在使用此配置我在release_controller.rbController中使外部缓存过期,我在其中使用expire_fragment("all_available_releases")使片段过期。我在更新、删除或添加条目的Controller的每个方法中都使用它。这是WEBrick的日志,尽管过期片段已在其中注册,但5行后过期片段被读取并使用,而这是不应该的。这个例子是在destroy调用之后。ProcessingbyReleasesCont

ruby - 散列中的 ActiveRecord 对象未被垃圾收集——一个错误或某种缓存功能?

我有一个名为Student的简单ActiveRecord模型,表中有100条记录。我在Rails控制台session中执行以下操作:ObjectSpace.each_object(ActiveRecord::Base).count#=>0x=Student.allObjectSpace.each_object(ActiveRecord::Base).count#=>100x=nilGC.startObjectSpace.each_object(ActiveRecord::Base).count#=>0#Good!现在我执行以下操作:ObjectSpace.each_object(Act

sql - 通过关联的 Rails 查询仅限于最近的记录?

classUserhas_many:books我需要一个返回的查询:最近一本书具有:complete=>true的用户。即,如果用户最近的书有:complete=>false,我不希望它们出现在我的结果中。到目前为止我有什么User.joins(:books).merge(Book.where(:complete=>true))这是一个很有希望的开始,但没有给我需要的结果。我试过添加.order("created_ondesc").limit(1)到上述查询的末尾,但是当我期待很多结果时,我最终只得到一个结果。谢谢! 最佳答案 如果

ruby-on-rails - Rails ActiveRecord 查询日期范围

我正在尝试在我的Controller中使用以下行来捕获从当前日期起不到一周的所有任务:@due_this_week=current_user.tasks.where(due_date:Date.today..1.week.from_now)出于某种原因,它没有找到任何结果,即使我知道我有四到六天的任务到期。这是唯一使用范围查询的实例变量。我有另一个可以很好地查找逾期任务的工具:@overdue=current_user.tasks.where("due_date我错过了什么? 最佳答案 应该是:@due_this_week=curr

ruby-on-rails - 安装 mysql2 (0.3.11) 时出错

我是一个Rails初学者,我从https://github.com/rubytaiwan/jobs.ruby.tw得到了一个演示。但是当我尝试运行这个演示时,我得到了一个错误。我跟着跑bundle我得到了错误Anerroroccurredwhileinstallingmysql2(0.3.11),andBundlercannotcontinue.Makesurethat`geminstallmysql2-v'0.3.11'`succeedsbeforebundling.但我可以确定我已经安装了mysql2Gemfile是source'https://rubygems.org'ruby"

ruby-on-rails - ActiveRecord 查询中的 “includes” 和 “preload” 有什么区别?

我正在努力寻找ActiveRecord对象的includes()和preload()的比较。谁能解释一下区别? 最佳答案 Rails有两种方法可以避免n+1问题。一个涉及创建一个基于大连接的查询以拉入您的关联,另一个涉及为每个关联进行单独的查询。当您执行includes时,rails会决定为您使用哪种策略。它默认使用单独的查询方法(预加载),除非它认为您正在使用条件或订单中关联的列。因为这只适用于joins方法,所以改用它。Rails的启发式方法有时会出错,或者您可能有特定的原因偏爱一种方法而不是另一种方法。preload(及其配套

ruby-on-rails - Ruby、RVM、LLVM 和 MySQL

我在MacOSX上配置Ruby和MySQL时遇到了很大的麻烦。事实上,我是MacOSX和RubyOnRails的新手。所以,首先我在安装mysql2gem时遇到了问题,在安装gem之后,我正在尝试开发人员进行测试,当我尝试启动WEBrick时出现此错误,指出无法加载名为“libmysqlclient.xml”的MySQL库。18.dylib”。关于错误的谷歌搜索,我看到每个人都在推荐通过RVM使用Ruby。我安装了RVM并尝试安装ruby​​1.9.3并收到此错误:ERROR:TheprovidedCC(/usr/bin/gcc)isLLVMbased,itisnotyetfullys

Ruby MYSQL2 gem 在 Windows 7 上的安装

我正在尝试在Windows7上安装mysql2gem我从mysql站点下载连接器并将libmysql.dll放在ruby​​200\bin中然后做geminstallmysql2这些是我在这里昏暗的结果吗?TemporarilyenhancingPATHtoincludeDevKit...Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingmysql2:ERROR:Failedtobuildgemnativeextension.C:/Ruby200/bin/ruby.exeextconf.rbcheck